Pristup k sdilene slozce pod cizim uctem
Otázka od: Ludek ZITA
11. 10. 2004 18:22
Zdravim,
Mam tento problem.
Sit se Serverem W2000 server Active directory a stanice W2000 Prof.
Na serveru existuji ruzne sdilene slozky s ruznymi pristupovymi pravy
pro ruzne uzivatele.
Zridim sdilenou slozku sss kam ma pristup pro cteni a zapis jen uzivatel
xxx s heslem hhh.
Pak potrebuji aby JINY uzivatel spustil muj program ktery si otevre
slozku sss pomoci jmena a hesla xxx a hhh a zapise tam soubor. Pak hned
zavre pristup ke slozce.
Pouzivam toto :
function Connect(const Path, UserName, Password: string): boolean;
var
NetRes: TNetResource;
dw: DWORD;
begin
ZeroMemory(@NetRes, sizeof(NetRes));
NetRes.dwType := RESOURCETYPE_ANY;
NetRes.dwDisplayType := RESOURCEDISPLAYTYPE_DOMAIN;
NetRes.lpLocalName := PChar('');
NetRes.lpRemoteName := PChar(FileUtil.RemoveBackSlash(Path));
NetRes.lpProvider := nil;
dw := WNetAddConnection2(NetRes, PChar(Password), PChar(UserName), 0);
if (dw <> NO_ERROR) then
begin
Result := False;
exit;
end
else
Result := True;
end;
function DisConnect(const Path: string): boolean;
var
dw: DWORD;
begin
dw := WNetCancelConnection(PChar(FileUtil.RemoveBackSlash(Path)),
True);
Result := (dw = NO_ERROR);
end;
Vsechno funguje naprosto squele do doby nez se uzivatel rozhodne otevrit
nejaky soubor v jine sdilene slozce na serveru (pochopitelne uz noramlne
se svymi pravy). Od te chvile az do resetu pocitace se do slozky sss s
jmenem a heslem xxx a hhh nedostanu. Hlasi mi to jakysi konflikt v
povereni ci co (ERROR_SESSION_CREDENTIAL_CONFLICT = 1219).
Jak z toho ven ?
Predem diky.
Ludek
P.S. Prihlaseny uzivatel pochopitelne do slozky sss nema pristupova
prava